package recursos;
import vistas.*;
import aviones.*;
import java.util.*;
import aviones.AvionSimple;


public class AsociadorDeVistasDeAvion {
	
	private HashMap<Class<? extends Avion>, VistaAvion> diccionarioDeVistas;
	
	public AsociadorDeVistasDeAvion(){
		diccionarioDeVistas = new HashMap<Class<? extends Avion>,VistaAvion>();
		this.agregarEntrada(AvionSimple.class, (new VistaAvionSimple()) );
		this.agregarEntrada(AvionComputarizado.class, (new VistaAvionComputarizado()) );
		this.agregarEntrada(AvionPesado.class, (new VistaAvionPesado()) );
		this.agregarEntrada(Helicoptero.class, (new VistaHelicoptero()) );
	}
	private void agregarEntrada(Class<? extends Avion> unaClase, VistaAvion unaVista){
		
		diccionarioDeVistas.put( unaClase , unaVista );
	}
	
	public VistaAvion devolverVista(Avion unAvion) {
		
		VistaAvion unaVista = (diccionarioDeVistas.get(unAvion.getClass()));
	
		return (VistaAvion) unaVista.clonar();
	}

}
